<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018-12-21
 * Time: 9:39
 */

namespace app\index\controller;


use app\common\controller\HomeBase;
use app\common\model\Projectm;

class Workbench extends HomeBase
{
    /**
     * 我的项目  未发布的项目   审核中的项目   竞标中的项目    已完成的项目
     */

    public function myProjectList($page = 1)
    {
        $params = input();
        $validate_result = $this->validate($params, 'Wworkbench');
        if ($validate_result !== true) {
            return  json(['code' => 300, 'msg' => $validate_result]);
        }

        $list  = Projectm::getMyProjectForStatus($params['p_uid'], $params['p_status'], $page);
        if (!$list) {
            return json(['code' => 301, 'msg' => '暂无数据']);
        }
        return json(['code' => 200, 'msg' => $list]);
    }



    /**
     * 参与项目  （用户竞标过的项目）
     */
    public function myBiddingProject($page = 1)
    {
        $params = input();
        if(array_key_exists("pb_uid",$params) && $params['pb_uid'] != ''){
            $list = Projectm::biddingProject($params['pb_uid'], $page);
            if (!$list) {
                return json(['code' => 301, 'msg' => '暂无数据']);
            }
            return json(['code' => 200, 'msg' => $list]);
        } else {
            return json(['code' => 300, 'msg' => '参数缺少']);
        }
    }

    /**
     * 用户修改自己项目的状态  竞标中的项目  可以修改为已完成    已完成的项目 可以重新竞标
     */
    public function updateProjectStatus()
    {
        $params = input();
        $validate_result = $this->validate($params, 'Wpdetail');
        if ($validate_result !== true) {
            return  json(['code' => 300, 'msg' => $validate_result]);
        }
        $status = Projectm::updateStatus($params['p_id'], $params['p_uid']);
        if ($status === -1) {
            return json(['code' => 302, 'msg' => '项目不存在或者不是自己的项目']);
        }
        if ($status === -2) {
            return json(['code' => 303, 'msg' => '项目状态有误，修改失败']);
        }
        if (!$status) {
            return json(['code' => 301, 'msg' => '修改失败']);
        }
        return json(['code' => 200, 'msg' => '修改成功']);
    }
    /**
     * 用户删除自己的项目
     */
    public function delProject()
    {
        $params = input();
        $validate_result = $this->validate($params, 'Wpdetail');
        if ($validate_result !== true) {
            return  json(['code' => 300, 'msg' => $validate_result]);
        }
        $status = Projectm::delSelfProject($params['p_id'], $params['p_uid']);
        if (!$status){
            return json(['code' => 301, 'msg' => '删除失败']);
        }
        return json(['code' => 200, 'msg' => '删除成功']);

    }

    /**
     * 我的接包项目
     */
    public function myReceivingProject($page = 1)
    {
        $params = input();
        $validate_result = $this->validate($params, 'Wworkbench');
        if ($validate_result !== true) {
            return  json(['code' => 300, 'msg' => $validate_result]);
        }
        $list  = Projectm::myjiebaoProject($params['p_uid'], $params['p_status'], $page);
        if (!$list) {
            return json(['code' => 301, 'msg' => '暂无数据']);
        }
        return json(['code' => 200, 'msg' => $list]);
    }

    /**
     * 发包者 发的项目  竞标方案的列表
     */
    public function biddingList($page = 1)
    {
        $params = input();
        $validate_result = $this->validate($params, 'Wpdetail');
        if ($validate_result !== true) {
            return  json(['code' => 300, 'msg' => $validate_result]);
        }
        $list  = Projectm::projectBidding($params['p_id'], $params['pb_status'], $page);
        if (!$list) {
            return json(['code' => 301, 'msg' => '暂无数据']);
        }
        return json(['code' => 200, 'msg' => $list]);
    }

    /**
     * 竞标方案的列表
     */
    public function caseList()
    {
        $params = input();
        if(array_key_exists("pb_id",$params) && $params['pb_id'] != ''){
            $data = Projectm::getCaseDetail($params['pb_id']);
            return json(['code' => 200, 'msg' => $data]);

        } else {
            return json(['code' => 300, 'msg' => '参数缺少']);
        }
    }

    /**
     * 竞标的项目设为 倾向 或者拒绝
     */
    public function updateBiddingStatus()
    {
        $params = input();
        $validate_result = $this->validate($params, 'Wupdatestatus');
        if ($validate_result !== true) {
            return  json(['code' => 300, 'msg' => $validate_result]);
        }
        $status = Projectm::updateProjectBiddingStatus($params['pb_id'], $params['pb_status']);
        if (!$status) {
            return json(['code' => 300, 'msg' => '修改失败']);
        }
        return json(['code' => 200, 'msg' => '修改成功']);
    }
}